This invention relates to a non-volatile semiconductor memory device, and more particularly to a NOR-type flash memory having a function for controlling the range of distribution of the threshold voltages of memory cells obtained after data erasion.
In NOR-type flash memory devices, reduction of the voltage of a power supply and increase of reading speed are demanded. To realize this simultaneously, it is important to minimize the range of distribution of the threshold values of memory cells in an erased state (this distribution will be hereinafter referred to as an "erasion distribution").
To execute each-bit verification and weak programming after erasion are considered as means for reducing the range of distribution of memory cell thresholds (hereinafter referred to as "cell thresholds") in a NOR-type flash memory.
The each-bit verification indicates verification executed in units of one bit, and the weak programming is programming of a smaller amount than usual. In the weak programming, a smaller amount of bias current than in usual programming is applied to a memory cell gate or drain to thereby minimize the range of changes in threshold value.
The weak programming operation of the NOR-type flash memory will be described.
FIG. 1A shows a distribution of cell thresholds of a memory cell array after erasion. FIG. 1B shows a distribution of cell thresholds of a memory cell array after weak programming.
As is shown in FIG. 1A, erasion reduces the cell threshold values Vth to values lower than an erase verify level EV. After erasion, weak programming is executed on cells having threshold values Vth lower than an over erase verify level OEV. As a result, as is shown in FIG. 1B, the cell threshold values Vth fall within a range of from the erasion verify level EV to the over erase verify level OEV. In other words, the distribution of the cell threshold values is reduced to the range of OEV&lt;Vth&lt;EV.
FIG. 2 illustrates a sequence of processing for realizing a distribution range of cell threshold values Vth as shown in FIG. 1B. FIG. 2 is a flowchart useful in explaining a conventional each-bit verifying operation and weak programming operation.
First, an erasion operation is performed until the upper limit of the distribution of the cell threshold values Vth reaches the erasion verify level EV. Subsequently, to raise the lower limit of the erasion distribution of the cell threshold values Vth up to the over erase verify level OEV, each-bit verification and weak programming are performed. In the each-bit verification, the gate voltage Vg of each cell is set at OEV, all cells are sequentially subjected to verification.
If the verification result for each of cells corresponding to an address to be verified is OK (Vth.gtoreq.OEV), this address is counted up, and each of cells corresponding to the next address is accessed. On the other hand, if the verification result is NG (Vth&lt;OEV), each cell is subjected to weak programming. This verification and weak programming is repeated until the threshold value Vth of each cell exceeds OEV. After that, it is determined whether or not the verification results of all cells are OK, thereby finishing the sequence of processing.
In the weak programming, the gate voltage Vg and the drain voltage Vd of each cell and the period of programming are set so that the cell threshold value Vth will not exceed the erase verify level EV.
The period required for erasing a memory chip is defined as a period that includes a period required for cell erasion and also required for verification of each bit and weak programming to reduce the range of distribution of cell threshold values. Accordingly, the verification of each bit and weak programming must be executed within as short a period as possible, and it is desirable that the period of voltage application to each cell during weak programming should be as short (for example, 1.5 .mu.sec.) as in usual programming.
The relationship between a period required for hot electron writing and a change in the threshold value of a memory cell in the NOR-type flash memory is usually as shown in FIG. 3. FIG. 3 shows cell writing characteristics, the ordinate and the abscissa indicating a change .DELTA.Vth (V) in the cell threshold value Vth and a writing time period (.mu.sec.) (logarithm), respectively. In the case of FIG. 3, the drain voltage of each cell is fixed at 5V, and the gate voltage Vg applied when writing is used as a parameter.
The writing characteristics change from a linear area (.ltoreq.10 .mu.sec.) in which the cell threshold value Vth increases as the writing time period increases, to a saturated area in which the degree of an increase in the cell threshold value Vth gradually reduces.
Since the above-mentioned weak programming is executed using a short pulse of 10 .mu.sec. or less, it has the writing characteristics of the linear area. In the writing characteristics of the linear area, a change .DELTA.Vth in the cell threshold value Vth is greatly influenced by variations in memory cells or the temperature. In particular, the change .DELTA.th greatly depends upon the temperature.
FIG. 4 shows the dependency, upon the temperature, of a writing time period required for shifting the cell threshold value Vth from 0V to 2V in the linear area of the writing characteristics shown in FIG. 3.
It is understood from the temperature dependency that where the gate voltage Vg is fixed when writing, the time required for shifting the cell threshold value Vth by 2V at 100.degree. C. and -40.degree. C. differs by a maximum multiple of ten.
The execution, under these circumstances, of the each-bit verification and the weak programming shown in FIG. 2 will be described.
Since the cell threshold value Vth must not exceed the erase verify level EV even after weak programming, it is necessary to set the gate voltage Vg applied when weak programming so that the cell threshold value will not exceed the erase verify level EV at a low temperature at which the writing speed is high. This setting, however, may create a case where the time required for weak programming will be, at maximum, ten times greater at a high temperature at which the writing speed is low, than at a low temperature at which the writing speed is high.
Further, the time required for each-bit verification and weak programming after data erasion varies depending upon variations between memory chips or blocks. The block is an aggregate of memory cells which can be erased simultaneously, and a minimum unit assumed when executing erasion.
In the above-described conventional non-volatile semiconductor memory, the time required for shifting the cell threshold value greatly depends upon the temperature when executing each-bit verification and weak programming after data erasion. Accordingly, the time required for each-bit verification and weak programming will inevitably be much longer at a high temperature at which the writing speed is low.